#pragma once

template <class T>
class Singleton
{
public:
	static T * GetInstance();

protected:
	static T * instance;
};

template <class T>
T * Singleton<T>::instance = NULL;